The structure of computing systems may be such that a substantially flat and permissive architecture is implemented. In such a system, programs, software applications, services and other similar runnables are all able to access most other components of the system. Computing systems may also be structured such programs, software applications, services and other runnables exist in discrete spaces and relationships between such system components are explicitly managed. The latter architecture may be of particular use in mobile computing scenarios and distributed computing technologies, including cloud computing. In such mobile and cloud computing scenarios, applications and similar may be distributed such that software components of an application are spread across one or more cloud data centers, whilst little more than an application user-interface actually runs on a local device. For example, a network connectable device, such as a smart phone or a tablet. Furthermore, applications and other similar runnables may be operable such that they access and process both data that is available locally to a personal computing device, and data fetched from one or more remote sources. Some applications and other similar runnables may operate such that their managed data is stored remotely which may pose challenges in relation to user privacy.
Different operating systems (OSs) and run-time environments exist for development and deployment of cloud applications. Such operating systems and run time environments for mobile devices include, for example, Android, Blackberry, iOS and similar. Each may include a different set of features which can help to mitigate security and privacy risks associated with the discrete application architecture described above and may give a user some form of control on the privacy of data managed by applications installed on a device.
Nonetheless, such features may pose problems. It is desired to offer an alternative means to offer a user control over applications installed on a device.